/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pooproj.repositorio;

import java.util.ArrayList;
import pooproj.basica.Midia;
import pooproj.erro.ConexaoException;
import pooproj.erro.ConsultaException;

/**
 *
 * @author Daniella
 */
public interface RepositorioMidia {
    
    /**
     * Cadastra uma midia no BD
     * @param m a Midia para inserir
     * @throws ConsultaException
     * @throws ConexaoException 
     */
    public void inserir(Midia m) throws ConsultaException,ConexaoException;
    
    /**
     * Altera um Midia do BD
     * @param m a Midia a ser alterada
     * @throws ConsultaException
     * @throws ConexaoException 
     */
    public void alterar(Midia m) throws ConsultaException,ConexaoException;
    
    /**
     * Exclue uma Midia do BD
     * @param m O Midia a ser excluido
     * @throws ConsultaException
     * @throws ConexaoException 
     */
    public void excluir(Midia m) throws ConsultaException,ConexaoException;
    
    /**
     * Retorna a lista de Midia no BD
     * @return lista do tipo ArrayList 
     * @throws ConsultaException
     * @throws ConexaoException 
     */
    public ArrayList<Midia> listar() throws ConsultaException,ConexaoException;
    
    /**
     * Retorna a Midia com o cod midia passado
     * @param id
     * @return a Midia
     * @throws ConsultaException
     * @throws ConexaoException 
     */
    public Midia consultar(Integer id) throws ConsultaException,ConexaoException;
    
    /**
     * Retorna a Midia com o cod filme passado
     * @param nome
     * @return a Midia
     * @throws ConsultaException
     * @throws ConexaoException 
     */
    public Midia consultarCodFilme(Integer codFilme) throws ConsultaException,ConexaoException;

    
}
